package topday1_9.mxdx9_1;

/**
 * @Auther:小陈的Java
 * 局部内部类演示
 *
    1. 局部内部类可以定义在 方法内 代码块 构造方法内
    2. 局部内部类不可以用任何修饰符修饰,只可以被final修饰
    3. 局部内部类可以定义成员属性和方法以及构造方法。
    4. 局部内部类只可以在内部定义内部使用。但是它的对象可以通过外部方法的返回值返回使用，返回值类型只能是局部内部类的父类或父接口类型
    5. 局部内部类可以使用外部方法的局部变量，但是必须是final的。由局部内部类和局部变量的声明周期不同所致。jdk1.8以后不用加final
    6. 局部内部类和局部变量地位类似，不能使用public,protected,缺省,private
    7. 局部内部类不能使用static修饰，因此也不能包含静态成员
 */
public class InnerClassDemo3 {
    private int id;

    public Animal1 method1(){
        final class Tiger extends Animal1{
            private int id;
            private String name;
            public Tiger(int id,String name){
                this.id = id;
                this.name = name;
            }
        }
        Tiger tiger = new Tiger(1,"百兽之王");
        return tiger;
    }
}
class Animal1{

}
